package com.koron.css2.newProjectCenter.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.css2.baseConfig.bean.BaseBean;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 工程结算单
 */
public class PjSettlement extends BaseBean {

    /**
     * 主键id
     */
    private String id;

    /**
     * 工程报装id
     */
    private String consultId;

    /**
     * 收费类型
     */
    private String type;

    /**
     * 表前人工费预算
     */
    private BigDecimal budgetLaborMeterBefore;

    /**
     * 表后人工费预算
     */
    private BigDecimal budgetLaborMeterAfter;

    /**
     * 表前材料费预算
     */
    private BigDecimal budgetMatrMeterBefore;

    /**
     * 表后材料费预算
     */
    private BigDecimal budgetMatrMeterAfter;

    /**
     * 表前人工费结算
     */
    private BigDecimal settlementLaborMeterBefore;

    /**
     * 表后人工费结算
     */
    private BigDecimal settlementLaborMeterAfter;

    /**
     * 表前材料费结算
     */
    private BigDecimal settlementMatrMeterBefore;

    /**
     * 表后材料费结算
     */
    private BigDecimal settlementMatrMeterAfter;

    /**
     * 预算费
     */
    private BigDecimal budgetCost;

    /**
     * 预算费结算
     */
    private BigDecimal settlementCost;

    /**
     * 设计费
     */
    private BigDecimal designCost;

    /**
     * 设计费结算
     */
    private BigDecimal settlementDesignCost;

    /**
     * 工程造价
     */
    private BigDecimal constructionCost;

    /**
     * 总管分摊费用
     */
    private BigDecimal costShare;

    /**
     * 押金
     */
    private BigDecimal depositMoney;

    /**
     * 编制结算日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date settlementDate;

    /**
     * 退款银行
     */
    private String refundBank;

    /**
     * 退款账户
     */
    private String refundAccount;

    /**
     * 退款人姓名
     */
    private String refundName;

    /**
     * 单据编号
     */
    private String billNo;

    /**
     * 制单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date billDate;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 流程状态
     */
    private String processState;

    /**
     * 流程名称
     */
    private String processName;

    /**
     * 当前处理人
     */
    private String processHandleMan;

    /**
     * 租户编号
     */
    private String tenantId;

    /**
     * 工程报装编号
     */
    private String consultBillNo;

    /**
     * 工程名称
     */
    private String consultName;

    /**
     * 一次性收费标志:0否，1是
     */
    private Integer disposableChargeFlag;

    /**
     * 预算金额 = 表前材料费预算 + 表前人工费预算 + 表后材料费预算 + 表后人工费预算 + 预算费 + 设计费
     */
    private Double budgetMoney;

    /**红线内费用*/
    private Double redLineInMoney;

    /**红线外费用*/
    private Double redLineOutMoney;

    /*器具费用**/
    private Double utensilMoney;

    /*预缴金额**/
    private Double accruedMoney;

    /*器具费用**/
    private Double setmtMoney;

    /*器具费用**/
    private Integer setmtResult;

    /*器具费用**/
    private Double settlementAmount;

    /*退款方式**/
    private String refundType;

    public Double getAccruedMoney() {
        return accruedMoney;
    }

    public void setAccruedMoney(Double accruedMoney) {
        this.accruedMoney = accruedMoney;
    }

    public Double getSetmtMoney() {
        return setmtMoney;
    }

    public void setSetmtMoney(Double setmtMoney) {
        this.setmtMoney = setmtMoney;
    }

    public Integer getSetmtResult() {
        return setmtResult;
    }

    public void setSetmtResult(Integer setmtResult) {
        this.setmtResult = setmtResult;
    }

    public Double getSettlementAmount() {
        return settlementAmount;
    }

    public void setSettlementAmount(Double settlementAmount) {
        this.settlementAmount = settlementAmount;
    }

    public String getRefundType() {
        return refundType;
    }

    public void setRefundType(String refundType) {
        this.refundType = refundType;
    }

    public Double getUtensilMoney() {
        return utensilMoney;
    }

    public void setUtensilMoney(Double utensilMoney) {
        this.utensilMoney = utensilMoney;
    }

    public Double getRedLineInMoney() {
        return redLineInMoney;
    }

    public void setRedLineInMoney(Double redLineInMoney) {
        this.redLineInMoney = redLineInMoney;
    }

    public Double getRedLineOutMoney() {
        return redLineOutMoney;
    }

    public void setRedLineOutMoney(Double redLineOutMoney) {
        this.redLineOutMoney = redLineOutMoney;
    }

    @Override
    public String getId() {
        return id;
    }

    @Override
    public void setId(String id) {
        this.id = id;
    }

    public String getConsultId() {
        return consultId;
    }

    public void setConsultId(String consultId) {
        this.consultId = consultId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public BigDecimal getBudgetLaborMeterBefore() {
        return budgetLaborMeterBefore;
    }

    public void setBudgetLaborMeterBefore(BigDecimal budgetLaborMeterBefore) {
        this.budgetLaborMeterBefore = budgetLaborMeterBefore;
    }

    public BigDecimal getBudgetLaborMeterAfter() {
        return budgetLaborMeterAfter;
    }

    public void setBudgetLaborMeterAfter(BigDecimal budgetLaborMeterAfter) {
        this.budgetLaborMeterAfter = budgetLaborMeterAfter;
    }

    public BigDecimal getBudgetMatrMeterBefore() {
        return budgetMatrMeterBefore;
    }

    public void setBudgetMatrMeterBefore(BigDecimal budgetMatrMeterBefore) {
        this.budgetMatrMeterBefore = budgetMatrMeterBefore;
    }

    public BigDecimal getBudgetMatrMeterAfter() {
        return budgetMatrMeterAfter;
    }

    public void setBudgetMatrMeterAfter(BigDecimal budgetMatrMeterAfter) {
        this.budgetMatrMeterAfter = budgetMatrMeterAfter;
    }

    public BigDecimal getSettlementLaborMeterBefore() {
        return settlementLaborMeterBefore;
    }

    public void setSettlementLaborMeterBefore(BigDecimal settlementLaborMeterBefore) {
        this.settlementLaborMeterBefore = settlementLaborMeterBefore;
    }

    public BigDecimal getSettlementLaborMeterAfter() {
        return settlementLaborMeterAfter;
    }

    public void setSettlementLaborMeterAfter(BigDecimal settlementLaborMeterAfter) {
        this.settlementLaborMeterAfter = settlementLaborMeterAfter;
    }

    public BigDecimal getSettlementMatrMeterBefore() {
        return settlementMatrMeterBefore;
    }

    public void setSettlementMatrMeterBefore(BigDecimal settlementMatrMeterBefore) {
        this.settlementMatrMeterBefore = settlementMatrMeterBefore;
    }

    public BigDecimal getSettlementMatrMeterAfter() {
        return settlementMatrMeterAfter;
    }

    public void setSettlementMatrMeterAfter(BigDecimal settlementMatrMeterAfter) {
        this.settlementMatrMeterAfter = settlementMatrMeterAfter;
    }

    public BigDecimal getBudgetCost() {
        return budgetCost;
    }

    public void setBudgetCost(BigDecimal budgetCost) {
        this.budgetCost = budgetCost;
    }

    public BigDecimal getSettlementCost() {
        return settlementCost;
    }

    public void setSettlementCost(BigDecimal settlementCost) {
        this.settlementCost = settlementCost;
    }

    public BigDecimal getDesignCost() {
        return designCost;
    }

    public void setDesignCost(BigDecimal designCost) {
        this.designCost = designCost;
    }

    public BigDecimal getSettlementDesignCost() {
        return settlementDesignCost;
    }

    public void setSettlementDesignCost(BigDecimal settlementDesignCost) {
        this.settlementDesignCost = settlementDesignCost;
    }

    public BigDecimal getConstructionCost() {
        return constructionCost;
    }

    public void setConstructionCost(BigDecimal constructionCost) {
        this.constructionCost = constructionCost;
    }

    public BigDecimal getCostShare() {
        return costShare;
    }

    public void setCostShare(BigDecimal costShare) {
        this.costShare = costShare;
    }

    public BigDecimal getDepositMoney() {
        return depositMoney;
    }

    public void setDepositMoney(BigDecimal depositMoney) {
        this.depositMoney = depositMoney;
    }

    public Date getSettlementDate() {
        return settlementDate;
    }

    public void setSettlementDate(Date settlementDate) {
        this.settlementDate = settlementDate;
    }

    public String getRefundBank() {
        return refundBank;
    }

    public void setRefundBank(String refundBank) {
        this.refundBank = refundBank;
    }

    public String getRefundAccount() {
        return refundAccount;
    }

    public void setRefundAccount(String refundAccount) {
        this.refundAccount = refundAccount;
    }

    public String getRefundName() {
        return refundName;
    }

    public void setRefundName(String refundName) {
        this.refundName = refundName;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public Date getBillDate() {
        return billDate;
    }

    public void setBillDate(Date billDate) {
        this.billDate = billDate;
    }

    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

    public String getProcessState() {
        return processState;
    }

    public void setProcessState(String processState) {
        this.processState = processState;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public String getProcessHandleMan() {
        return processHandleMan;
    }

    public void setProcessHandleMan(String processHandleMan) {
        this.processHandleMan = processHandleMan;
    }

    @Override
    public String getTenantId() {
        return tenantId;
    }

    @Override
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getConsultBillNo() {
        return consultBillNo;
    }

    public void setConsultBillNo(String consultBillNo) {
        this.consultBillNo = consultBillNo;
    }

    public String getConsultName() {
        return consultName;
    }

    public void setConsultName(String consultName) {
        this.consultName = consultName;
    }

    public Integer getDisposableChargeFlag() {
        return disposableChargeFlag;
    }

    public void setDisposableChargeFlag(Integer disposableChargeFlag) {
        this.disposableChargeFlag = disposableChargeFlag;
    }

    public Double getBudgetMoney() {
        return budgetMoney;
    }

    public void setBudgetMoney(Double budgetMoney) {
        this.budgetMoney = budgetMoney;
    }
}
